<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Web 前端接入示例</title>
  <!-- 验证码程序依赖(必须)。请勿修改以下程序依赖，如使用本地缓存，或通过其他手段规避加载，会影响程序的正常使用。 -->
  <script src="https://turing.captcha.qcloud.com/TCaptcha.js"></script>
</head>

<body onload="document.querySelector('div').click();">
<!--点击此元素会自动激活验证码, 此例使用的button元素, 也可以使用div、span等-->
<!--id :            (不可变) 元素的 ID, 值必须是 'TencentCaptcha'-->
<!--data-appid :    (必须) 验证码CaptchaAppId, 从腾讯云的验证码控制台中获取, 验证码控制台页面内【图形验证】>【验证列表】进行查看 。如果未新建验证，请根据业务需求选择适合的验证渠道、验证场景进行新建-->
<!--data-cbfn :     (必须) 回调函数名, 函数名要与 data-cbfn 相同-->
<!--data-biz-state :(可选) 业务自定义透传参数, 会在回调函数内获取到 （res.bizState）-->
<div id="TencentCaptcha" data-appid="2035218535" data-cbfn="callbackName"
     data-biz-state="data-biz-state">
</div>
</body>

<script>
    /*
     window.location.search 拿到的是 ?lan=zh-hk
    */
    var lan = window.location.search;
    var language = lan.split('=')[1];
    try {
    /*
     needFeedBack：无需帮助按钮，如需要使用官方默认方法就行
     userLanguage：设置语言
    */
    var sdkOptions = {"needFeedBack":false,"userLanguage":language};
    new TencentCaptcha(
    document.getElementById('TencentCaptcha'),
    '2035218535',
    callback,
    sdkOptions);
     } catch (error) {
        loadErrorCallback();
     }

function callback(res) {
  /* res（验证成功） = {ret: 0, ticket: "String", randstr: "String"}
     res（客户端出现异常错误 仍返回可用票据） = {ret: 0, ticket: "String", randstr: "String", errorCode: Number, errorMessage: "String"}
     res（用户主动关闭验证码）= {ret: 2}
     根据自己需要设置回调的数据即可
  */
  if (res.ret === 0){
     var result = { ret:res.ret, randstr:res.randstr, ticket:res.ticket };
     window.jsBridge.getData(JSON.stringify(result));
  } else {
     var result = { ret:res.ret, randstr:"", ticket:"" };
     window.jsBridge.getData(JSON.stringify(result));
  }
}
// 验证码js加载错误处理
function loadErrorCallback() {
  var CaptchaAppId = ''
   /* 生成票据或自行做其它处理 */
  var ticket = 'terror_1001_' + CaptchaAppId + Math.floor(new Date().getTime() / 1000);
  callback({
    ret: 0,
    randstr: '@'+ Math.random().toString(36).substr(2),
    ticket: ticket,
    errorCode: 1001,
    errorMessage: 'jsload_error',
  });
}

</script>
</html>
